#ifndef __C_CROSSFIRE_DRAWRENDERER_H_
#define __C_CROSSFIRE_DRAWRENDERER_H_

#include "CSettings.h"
#include "CLog.h"
//#include "CCamera.h"
#include "IDrawRenderer.h"

namespace cfe
{

class CDrawRenderer : public ICF_DrawRenderer
{
private:
	LPDIRECT3D9  m_direct3D;
	LPDIRECT3DDEVICE9 m_device3D;
	
	//CTextureLoader* m_textureLoader;
	//CFont* m_font;
	CSettings* m_pSettings;
	CLog* m_pLog;
	
	LPDIRECT3DSURFACE9	g_pScreenshot;
	UINT				g_uNumScreenshots	;
public:
	CDrawRenderer(void);
	~CDrawRenderer(void);

	BOOL Initialize( HWND hwnd );
	//void SetCamera( ICF_CameraNode* camera );
	void Begin();
	void End();

	//CCF_Font* GetFont() {return 0;};
	//CCF_TextureLoader* GetTextureLoader() {return 0;};
	LPDIRECT3DDEVICE9 GetDevice();
	HRESULT ScreenGrab();
	void MipMapFilter();
	void AnisotropicFilter();
	void LinearFilter();
	int ConvertD3DFormat(D3DFORMAT d3dformat);
	void ShowVideoModesToLog();
};

};


#endif